Enterprise management is a serious concern for companies that have widespread networks involving different platforms and various hardware and software providers. In many cases, companies that use different platforms superimpose an additional layer of software to manage their networks and rely on the management software provided by the respective manufacturers of the servers and hardware devices.
One solution is to use a Common Information Model (“CIM”), which was developed by a computer-industry consortium called the Distributed Management Task Force (“DMTF”). CIM was designed to facilitate uniform representation of computer-system objects in various operating systems. CIM is a model that defines the components of a computing environment in terms of objects. DMTF has developed a standardized object model for enterprise management using CIM. In this scenario, CIM allows managed components from different vendors to be controlled by a single application.
One of the major challenges a management application faces is to provide a tree of managed entities that pertains to the specific management function being performed. Most of the management applications provide a static tree architecture which is not usually helpful for all application users. Once the tree is made, state propagation is problematic too. This is because at any given point in time a user is typically provided with only some of the nodes in the tree. As such, while the tree is completely collapsed, there is generally no way of knowing what is going on with the individual nodes. For a management application where the tree nodes are managed entities, not propagating the state up the tree may prove to be catastrophic to the health of the systems or networks being monitored. Although the CIM environment provides several associations that are inherently hierarchical in nature, even if a management application chooses to use these hierarchical associations to make a tree of the managed entities, the tree is not general purpose and does not suit all the functions performed by the application. The CIM model relies upon prior platform specific knowledge to maintain logical hierarchies of objects that requires code changes in the management application as the platform specific hierarchies are changed, and as new platform support is added. The CIM model also does not provide a general purpose way for a client to register for events occurring in the system. It also lacks a general purpose recovery action mechanism.